package com.zimmur.app.mocolink.dao;

import com.zimmur.app.mocolink.domain.model.Topic;
import com.zimmur.app.mocolink.domain.model.TopicExample;
import com.zimmur.app.mocolink.domain.param.TopicParamForManage;
import com.zimmur.app.mocolink.domain.vo.TopicInfo;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface TopicMapper {
    int countByExample(TopicExample example);

    int deleteByExample(TopicExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Topic record);

    int insertSelective(Topic record);

    List<Topic> selectByExampleWithBLOBs(TopicExample example);

    List<Topic> selectByExample(TopicExample example);

    Topic selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExampleWithBLOBs(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExample(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByPrimaryKeySelective(Topic record);

    int updateByPrimaryKeyWithBLOBs(Topic record);

    int updateByPrimaryKey(Topic record);
    /**
     * 查询已审核话题
     *@Description
     *@param first
     *@param size
     *@return 
     *@author zcx
     *@Time 2017年10月12日 下午4:36:08
     */
    List<TopicInfo> selectCheckedTopic(@Param("first")Integer first,@Param("size")Integer size);
    /**
     * 统计已审核话题
     *@Description
     *@return 
     *@author zcx
     *@Time 2017年10月12日 下午4:36:19
     */
    int countCheckedTopic();
    /**
     * 条件查询话题
     *@Description
     *@param param
     *@return 
     *@author zcx
     *@Time 2017年10月17日 下午9:39:35
     */
    List<Topic> selectByParam(TopicParamForManage param);
    /**
     * 条件统计话题
     *@Description
     *@param param
     *@return 
     *@author zcx
     *@Time 2017年10月17日 下午9:51:38
     */
    int countByParam(TopicParamForManage param);
}